package com.wp.dao;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * @author: WangPeng
 * @createTime: 2022/11/14 17:12
 * @description:
 * @version: v1.0
 */
public interface BookShopDao {

    /**
     * 根据图书编号查询对应的价格
     * @param isbn 图书编号
     * @return 价格
     */
    @Select("select price from book where isbn=#{isbn}")
    int findBookPriceByIsbn(String isbn);

    /**
     * 根据图书编号修改库存
     * @param isbn 图书编号
     */
    @Update("update book_stock set stock=stock-1 where isbn=#{isbn}")
    void updateBookStock(String isbn);

    /**
     * 根据用户名修改余额
     * @param username 用户名
     * @param money 金额
     */
    @Update("update account set balance=balance-#{money} where username=#{username}")
    void updateAccount(@Param("username") String username,@Param("money")int money);

    /**
     * 根据编号修改相应库存
     * @param isbn 图书编号
     * @return 库存数
     */
    @Select("select stock from book_stock where isbn=#{isbn}")
    int findStockByIsbn(String isbn);

    /**
     * 根据账户查询对应余额
     * @param username 用户名
     * @return 余额
     */
    @Select("select balance from account where username=#{username}")
    int findBalanceByUsername(String username);
}
